home *** CD-ROM | disk | FTP | other *** search
/ Nikkei Mac 20 / NIKKEI-MAC-CD-VOL-20-1998-12.ISO.7z / NIKKEI-MAC-CD-VOL-20-1998-12.ISO / オンラインソフト / 9.ウェブ作成ツール / ImageMapper 2.5J (FAT) .sit / ImageMapper (FAT) 2.5J / チュートリアル / java / HighlightableLink.java < prev    next >
Text File  |  1996-10-10  |  2KB  |  89 lines

  1. import java.awt.*;
  2. import java.applet.Applet;
  3. import java.net.URL;
  4.  
  5. /*
  6.  *
  7.  * HighlightableLink
  8.  *
  9.  */
  10. class HighlightableLink extends Canvas
  11. {
  12.  
  13. public HighlightedImageMap     applet=null;
  14.  
  15. Image normal;
  16. Image highlighted;
  17. String alt;
  18. String target;
  19.  
  20. URL url;
  21.  
  22. boolean active=false;
  23.  
  24. public HighlightableLink(int x, int y, 
  25.                int width, int height, 
  26.                Image normal, Image highlighted, 
  27.                URL url, String alt, String target, HighlightedImageMap applet)
  28. {
  29.     reshape(x,y+50,width,height);
  30.     move(x,y);
  31.  
  32.     this.normal=normal;
  33.     this.highlighted=highlighted;
  34.     this.url=url;
  35.     this.alt=alt;
  36.     this.target=target;
  37.  
  38.     this.applet=applet;
  39. }
  40.  
  41. public void paint(Graphics g)
  42. {
  43.     if (applet.nloaded && applet.hloaded)
  44.         if (active)
  45.             g.drawImage(highlighted,0,0,this);
  46.         else
  47.             g.drawImage(normal,0,0,this);
  48.     else
  49.     {
  50.         g.drawRect(0,0,size().width-1,size().height-1);
  51.         g.drawString(alt,2,(g.getFontMetrics().getHeight()>>1)+size().height/2);
  52.     }
  53.  
  54. }
  55.  
  56. public void update(Graphics g)
  57. {
  58.     paint(g);
  59. }
  60.  
  61. public boolean mouseEnter(Event evt, int x, int y)
  62. {
  63.     active=true;
  64.     applet.showStatus(url.toString());
  65.     repaint();
  66.    
  67.     return true;
  68. }
  69.  
  70. public boolean mouseExit(Event evt, int x, int y)
  71. {
  72.     active=false;
  73.     repaint();
  74.  
  75.     return true;
  76. }
  77.  
  78. public boolean mouseDown(Event evt, int x, int y)
  79. {
  80.     //Use framename if given, otherwise default frame is target
  81.     if (!target.equals(""))
  82.         applet.getAppletContext().showDocument(url,target);
  83.     else
  84.         applet.getAppletContext().showDocument(url);
  85.       
  86.     return true;
  87. }
  88.  
  89. }